import axios from "axios";
import {cookie} from "@/utils/cookie.ts";
import {message} from "ant-design-vue";

// 创建 Axios 实例
const axiosInstance = axios.create({
    // baseURL: 'http://localhost:8080', // 配置基础 URL
    baseURL: '/apis', // 配置基础 URL
    timeout: 15000, // 请求超时时间
    withCredentials: true
});

// 拦截器
// 添加请求拦截器
axiosInstance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    const token = cookie.get("token");
    if (token)
        config.headers.Authorization = token;
    return config;
}, function (error) {
    // 对请求错误做些什么
    message.error("请求超时，请稍后再试")
    return Promise.reject(error);
});

// 响应拦截器
axiosInstance.interceptors.response.use(
    response => {
        // 在接收响应数据之前做一些处理，比如解析数据
        const data = response.data;
        if (data.code !== 20000) {
            // if (code.NOT_LOG_IN === data.code){
            //     message.error("登录状态已过期，请重新登录");
            //     router.push({name: 'login'});
            // }
            message.error(data.message);
            return Promise.reject(data);
        }
        return data;
    },
    error => {
        // 处理响应错误
        console.error('响应拦截器错误:', error);
        return Promise.reject(error);
    }
);
export default axiosInstance;